/*
 * Copyright (C) 2010-2011 Comcast Cable.  All Rights Reserved.
 */
package com.hercules.android.receiver.connection.parser;

/**
 * <p>
 * This is the base exception for all custom exceptions defined in this
 * component. It's never thrown directly, all thrown exceptions are subclasses
 * of this exception.
 * </p>
 * <p>
 * Thread safety: The class is not thread safe since the base class is not.
 * </p>
 *
 * @author nhzp339, wz12
 * @version 1.0
 */
public class MessageParserException extends Exception {
    /** Serial version UID. */
    private static final long serialVersionUID = 7473034823300587755L;

    /**
     * <p>
     * Constructs a new exception with null as its detail message. The cause is
     * not initialized, and may subsequently be initialized by a call to
     * Throwable.initCause(java.lang.Throwable).
     * </p>
     */
    public MessageParserException() {
        super();
    }

    /**
     * <p>
     * Constructs a new exception with the specified detail message. The cause
     * is not initialized, and may subsequently be initialized by a call to
     * Throwable.initCause(java.lang.Throwable).
     * </p>
     *
     * @param message
     *            The detail message. The detail message is saved for later
     *            retrieval by the Throwable.getMessage() method. May be null or
     *            empty.
     */
    public MessageParserException(String message) {
        super(message);
    }

    /**
     * <p>
     * Constructs a new exception with the specified detail message and cause.
     * Note that the detail message associated with cause is not automatically
     * incorporated in this exception's detail message.
     * </p>
     *
     * @param message
     *            The detail message (which is saved for later retrieval by the
     *            Throwable.getMessage() method). May be null or empty.
     * @param cause
     *            The cause (which is saved for later retrieval by the
     *            Throwable.getCause() method). (A null value is permitted, and
     *            indicates that the cause is nonexistent or unknown.).
     */
    public MessageParserException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * <p>
     * Constructs a new exception with the specified cause and a detail message
     * of (cause==null ? null : cause.toString()) (which typically contains the
     * class and detail message of cause). This constructor is useful for
     * exceptions that are little more than wrappers for other throwables.
     * </p>
     *
     * @param cause
     *            The cause (which is saved for later retrieval by the
     *            Throwable.getCause() method). (A null value is permitted, and
     *            indicates that the cause is nonexistent or unknown.).
     */
    public MessageParserException(Throwable cause) {
        super(cause);
    }
}
